23

» WarCraft 3 / Отступы в коде

Похожие вопросы:

ответ
Последние две строки должны быть такие:
    call PlayGame()
endfunction
Замени их на:
    call StartBuildLoop()
    loop
        if GetPlayerState(Player(GetAiPlayer()),PLAYER_STATE_RESOURCE_FOOD_USED)> 79 then
            call SetHeroesFlee(false)
            call SetIgnoreInjured(false)
            call SetUnitsFlee(false)
            call SetGroupsFlee(false)
        elseif GetPlayerState(Player(GetAiPlayer()),PLAYER_STATE_RESOURCE_FOOD_USED) < 76 then
            call SetHeroesFlee(true)
            call SetIgnoreInjured(true)
            call SetUnitsFlee(true)
            call SetGroupsFlee(true)
        endif
        call Sleep(2.0)
    endloop
endfunction
Эти строки предполагалось вставлять в любой из бесконечных циклов
ответ
то есть ты убрал функции добавления способностей и оставил функции makepermanent, а потом удивился, что абилки пропали\не появились?

и пожалуйста, хватит накручивать себе рейтинг
ответ
Jack-of-shadow, ну конвертеров нету, руками ну или Find + Replace...

23

» WarCraft 3 / Видимость юнита

Похожие вопросы:

ответ
Делай дамики, которые находятся каждый на своём фиксированном расстоянии и угле от цели и перемещай их триггерно периодически. Не самое приятное занятие, но самое простое, для твоего случая
ответ
Значит, что-то неверно делаешь.
А, ну да, Extremator забыл указать, что модификатор нужно уничтожить перед обнулением.
Extremator всё указал, но незаметно.
ответ
Только мемхак, если вас не устраивают баффы детектов (волшебный огонь, посох чужих глаз, порошок прозрения).
Стоит отметить видимость юнита и детекция - разные опции, инвизер может быть обнаружен но не видем в тумане войны.
ответ
Я призываю берги!
Ась, что кого? для 126 отслеживание выделения в группе только на мемхаке, чистый 126 лесом, на рефордже через GetChild, вот ссылка, надо скопипастить на русском на Xgm
Но если принебречь этим множественным выбором и представить что выбор единичный
Тогда на гуи всё есть и получиться
C - Юнит выбран
У - Юнит такой-то, способность такая то есть, владелец выбранного=владелец выбирающего
Д -
set s = "" s = string
if p = GetLocalPlayer() then
set s = "Тут\\Типа\\Адрес\\Модели.mdx"
endif
call СоздатьСпецэффект(s,x,y) x,y - координаты, либо вместо них точка, либо виджет

а если по поводу вопроса
Но не понимаю, как именно применить тут эту систему
Система уже расписана, суть в том что у локального игрока создастся эффект с моделью, а у остальных с пустышкой и они ничего не увидят

set s = "" s = string пустышка

if p = GetLocalPlayer() then -- если локальный игрок тогда
set s = "Тут\\Типа\\Адрес\\Модели.mdx" -- модель уже не пустышка
ответ
не нужно.
Утечка с группами происходит потому что, незаметно для пользователя GUI, создается новая группа, которая не уничтожается и не обнуляется (в случае если происходит обращение к юнитам вокруг точки или в области). Обращаясь к группам игроков ничего не создается, происходит обращение к заранее созданным группам игроков.

23

» WarCraft 3 / Не работает простой триггер

Похожие вопросы:

ответ
ххххххх
Ну дык.
Ты пикаешь всех юнитов вокруг позиции кастера.
В т.ч. кастера.
Он же не враг сам себе)
так что выполнится оба действия могут)
и если там дамми есть - в ту же пачку, могут вызвать срабатывание.
Я фильтрую дамми по левелу, лвл дамми ставлю 0.
ответ
Filius Dei:
я так и не понял почему ты не можешь просто сделать как улучшение что не так с улучшением как в обычном случае.
дело в описании, вот и не могу так сделать,если сделать через улучшение здания, то при наведении на иконку вплывает подсказка, та же подсказка что будет и у самого здания в списке построек у светлячка, тоесть если делать через улучшение (по идее этот же юнит должен быть и в списке построек (а он там есть) ту подсказку которую я хочу будет лишней. вот пример: Древо жизни превращается в древо мира, при этом все союзные юниты вблизи древа получают повышеную регенерацию здоровья. (а теперь представь что эта подсказка будет в списке построек у светлячка, вообще не то)
Решил проблему путем выбора древа когда истекает однократный таймер, также подумал и решил что наверно лучше делать через способности, а не исследования. Но у меня остался один вопрос, если этот тригер отвечающий за применения этих способностей будет использовать несколько игроков, я не знаю будет ли использоватся оно коректно или нет, также и с отдельным триггером Таймер. Вот что вышло в данный момент:
ответ
function PolarProjectionX takes real x, real dist, real angle returns real
    return x + dist * Cos(angle * bj_DEGTORAD)
endfunction

function PolarProjectionY takes real y, real dist, real angle returns real
    return y + dist * Sin(angle * bj_DEGTORAD)
endfunction

function Trig_Hit_Actions takes nothing returns nothing
    local unit caster = GetTriggerUnit()
    local real face = GetUnitFacing(caster)
    local real x = PolarProjectionX(GetUnitX(caster), 100., face)
    local real y = PolarProjectionY(GetUnitY(caster), 100., face)
    local group targets = CreateGroup()
    local unit target
    call GroupEnumUnitsInRange(targets, x, y, 100., null)
    set target = FindClosestToXY(targets, x, y)
    if target != null then
        call UnitDamageTargetBJ(caster, target, 100., ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL)
        set target = null
    endif
    set caster = null
    call DestroyGroup(targets)
    set targets = null
endfunction
DopaMine, у тебя нет вызова FindClosestUnitXY.
ответ
Что мешало апгрейдом сделать или книжкой на хп? Про предметные абилки есть статьи, советую почитать.

23

» WarCraft 3 / Баг с порталами

Похожие вопросы:

ответ
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.

23

» WarCraft 3 / Вопрос по снаряду

Похожие вопросы:

ответ
ремувать юнита при смерти
тогда он точно урон не получит
ответ
Чтобы отследить созданного клона делается глобальный триггер с событием - Юнит вызывает еще 1 юнита, условие - юнит иллюзия, действие записать в bj_LastCreatedUnit == GetSummonedUnit(), после приказываем даммику кастануть жезл иллюзий в цель, сразу после приказа - берем bj_lastCreatedUnit - это наша иллюзия, записываем её в локалку или если действия мгновенные и не вызывают других триггеров юзающих эту глобалку то делаем с клоном все что нужно...
Т.к фрог юзает триггеры, он делает так, создает триггер, к нему вешает действие где в глобалку записывают GetSummonedUnit(), ну а после удаляет это действие у триггера, берет клона из глобалки, добавлает этому же триггеру другое действие и ставит событие на переодик 0.02 сек, чтобы двигать дамми снаряд, кароч юзает 1 триггер и для поиска клона и для движения дамми и для всего остального.
ответ
  1. вампиризмы работают лишь на основную атаку, не затрагивая модификаторы.
  2. не думаю, москиты не дружат с всякими проверками - подошел ли юнит к юниту или нет, просто давай неуяз, да и вовсе нафига тогда рабочие с ратушой? Так золото слабо дать или заставить даммиков проигрывать анимацию таскания мешков работникам.
  3. Еще раз, все модификаторы уроны, промахи, хреномахи рассчитываются в момент замаха, до успешного завершения атаки. Потом уже неважно, можно удалить юнита и снаряд достигнет цели (ну если ничего не помешает вроде промаха) и нанесет урон.
ответ
Понятно. Либо модель с 0 пилить либо забить, т.к. с этой моделью ничего не сделаешь (чтобы можно было перекрасить цвет триггерно)
ответ
бафф у них меняется
Меняется - можно поставить свой бафф, что сделан на основе оригинальный. Естественно, нельзя сделать так, чтобы отравленные стрелы станили.
Стан только у баша.

23

» IrInA Host Bot / проблема с коннектором

Принятый ответ
Похожие вопросы:

ответ
Попробуй другую версию коннектора.
ответ
Бот неправильно рассчитывает конфиг этой карты. Решения проблемы пока нет
ответ
В папке с игрой есть sl.exe sl_hidden.mix
ответ
rsfghd, Ну так у меня и так 1.26а, закинул в папку с игрой коннектор, и game.dll, сайт коннектор видит, сам коннектор меня подключает, но игры не появляются.

Проблема решена, я не тот коннектор запускал.

23

» WarCraft 3 / Неуязвимое здание с отображением хп

Похожие вопросы:

ответ
А много ли юнитов будут с хп баром? если серьёзно то решения нет и фрейм не найти этот, оно зашито в недра движка. Но опять таки Disable pre-selection вариант всё таки, если потом отрисовать кастомные хп бары через специальную модель, если она будет эффектом, то это не вызовет никакой доп нагрузки даже у 100 юнитов.

23

» WarCraft 3 / Вращение юнита

Похожие вопросы:

ответ
Doc:
Спасибо. Сделал через двухмерную матрицу поворота (тк поворачиваем только Х и У), и в итоге получили обычный поворот вектора и решение таково:
float newx = 150*Sin(j*bj_DEGTORAD)*Cos(i*bj_DEGTORAD)
float newy = 150*Cos(j*bj_DEGTORAD) 
sphere.z = 150+ 150*Sin(j*bj_DEGTORAD)*Sin(i*bj_DEGTORAD)
                        
sphere.x = newx*Cos(angle*bj_DEGTORAD) - newy*Sin(angle*bj_DEGTORAD) + x
sphere.y = newx*Sin(angle*bj_DEGTORAD) + newy*Cos(angle*bj_DEGTORAD) + y       
Если у кого-то получится упростить, то буду очень признателен.
ответ
В модел эдиторе перенеси нужную кость в начало координат и в ключевых фреймах пропиши одинаковые координаты для этой кости. Вот и проверишь.
ответ
Ниче не понял. Потом опять не понял.
В общем есть модель юнита, а есть модель снаряда. Это 2 разные модели. Они никак не связаны. То, что пропадает "снаряд" в модели юнита при броске( например топора) - это анимация атаки модели юнита. Если не нужно, чтобы топор не пропадал при броске - редактируй модель юнита в визе

23

» WarCraft 3 / Функция GetLocalPlayer()

Похожие вопросы:

ответ
если тебе звук нужен только для обладателя героя, то ты используешь вместо current camera view
position of hero[GetPlayerId(GetLocalPlayer())]
где hero - массив героев, индекс это номер игрока начиная с нуля
то есть hero[0] красный геро, hero[1] синий и т.д.
тогда это вернет позицию локального героя, а если герой не существует то центр карты
ответ
Еще один полезный тред
ответ
такой код вызовет десинх сразу.
а так да, взаимодействует
ответ
Работает, десинка не вызывает.
Иконки и положение кнопок так же можно менять локально.
ответ
В большинстве случаем игру багуют кривые руки.
просто я не пойму откуда ана берёт конкретную камеру у конкретного игрока
Для начала хотябы погуглили как работает GetLocalPlayer().
тут баг есть?
Нет

23

» WarCraft 3 / Помощь по реализации

Похожие вопросы:

ответ
Странное понимание механики. Не бывает универсального лучшего способа, потому и существуют разные способы для конкретных ситуаций.
А экономить байты и такты процессора, заранее пользуясь интерпретируемым скриптовым языком, это вообще моветон.
Разве массив в WarCraft III не предынициализирует 8192 ячейки памяти (по Вашей формуле, в моём случае он потребляет 8192*4=32768 байт, то есть 32Кб)? Он ведь не динамический.
Нет, он динамический. Исходный размер при создании - 1024. И расширяется на 1024 ячейки по мере доступа вплоть до максимальных 8192.
ответ
пример где-то надо еще таймером будет. просто по идее система работает так: происходит событие изменения ресурса (запоминаем сколько), следом происходит основное событие (покупка-продажа). значит, здесь ловим итем, потом вычисления с налогами. Но такой порядок бывает не всегда. Вот допустим продажа: сначала продаем (итем забирают, событие продажи), потом дают деньги (событие изменения ресурса). как видишь, здесь надо тогда таймером через 0.00 сек или сколько то сек проверять измену реса
хотел реализовать похожую систему (проводить торговлю не через чат, а через кнопочки). только на мем хаке. изменить можно только в мем хаке. если вы изменяете цену типу предмета, тогда она у всех итемов данного типа меняется. сделал так: копию на каждого игрока, у одного будет одна цена, у другого другая. короче каждый игрок товар может предложить по разной цене. как это будет работать пока не знаю (я не все продумал, и поэтому не доделал).

можно стоимость убрать и триггерами начислять/убавлять
ответ
Вот попробуй.

23

» WarCraft 3 / Не работает код (jass)

Похожие вопросы:

ответ
перебор 1 таймером стека быстрее чем хэш в 3n раз где n - количество одновременно работающих триггеров
В базе есть статья об этом?
ответ
убрал координаты даммика все заработало
ответ
Bergi_Bear, не знаю, я так понимаю, что редактор кампаний как-то по особому позволяет редактировать карту. Насколько помню, изменения карты, что вносятся через редактор кампаний, не влияют на саму карту.
ответ
Lord_Tomat, я хотел скриншот. У тебя стоит галка "Запускать во время инициализации" в самом верху триггера?
Используйте форматирование.
ответ
это всегда было или после определённого момента?


23

» WarCraft 3 / Узнать расстояние между юнитами

Принятый ответ
Похожие вопросы:

ответ
Через тип текстуры земли или как там трава называется.
За кругом используешь ту, которой нет в игровой зоне. Если юнит находиться на ней, то твои действия.
ответ
Desgul, дота, спектра, при атаке её урон игнорирует защиту противника если рядом с ним нет его союзников. В доте оно очень криво сделано.

23

» WarCraft 3 / Карта не отображается в самом варкрафте

Похожие вопросы:

ответ
скорее всего это что-то из разряда исикаповских клиентов
ответ
Smart096, баг только в этой карте?
в новых картах бага нету?
если да то стоит проверить импортируемые модели и текстуры (мб часть битая)
но с вероятностью в 60% проблема в системе ибо было много жалоб на баги в вин10
ответ
У твоей модели, которая добавляется, вероятно есть нестандартные текстуры. Нужно правильно расположить модель относительно ее текстур. Насколько я помню, я их располагал в одну папку и, вроде как, работало.
ответ
Надо открыть в ladik's mpq editor и удалить папку locales

23

» WarCraft 3 / Баг WURST

Похожие вопросы:

ответ
По коду честно говоря ничего не понятно. Но в отлове урона это обычная ошибка, когда урон наносится внутри триггера, отлавливающего урон или если он вызывает действия которые наносят урон и снова вызывают этот триггер. Бесконечная рекурсия в общем роняет игру.

23

» WarCraft 3 / Респавн крипов

Похожие вопросы:

ответ
Вот обновленная версия на структурах, я её вроде выкладывал...
либо используйте CreateCreepOfType для создания крипов, так будет респаунить тока тех крипов которых вы создали этой функцией...
ответ
есть куча статей и наработок
юзайте поиск

pro100master, не самый лучший вариант
куча таймеров может вызвать тормоза
лучше использовать 1 периодический таймер и им просто перебирать список умерших юнитов
ответ
Не проще ли глянуть как оно в самой доке? ;) xgm.guru/forum/showthread.php?t=4311
ответ
Мк.Задрот, я давно задавал вопрос, ответ найдёшь там

23

» WarCraft 3 / Спавн юнитов при входе в область

Похожие вопросы:

ответ
пардон,только заметил)
ответ
N7 Molot:
делаешь области примерно x1 на y1 (точка) у каждой декорации, когда приходишь фиксируешь эти точки через set = (центр точки декорации), после функция, которая добавляет БЕ (боевая единица), без русификатора функция "create" и по одной БЕ на каждую точку с ориентировкой на того кто входит в область (так же фиксируй позицию БЕ, которая входит в область), и после всего этого удаляй точки, которые зафиксированы на декор и на БЕ, которая вошла в область.

можно добавит ещё эффект появления на каждой точке у декора, будет красиво)

23

» WarCraft 3 / Триггерное превращение?

Похожие вопросы:

ответ
дак можно же выключить нужный триггер на время замены, и сразу после неё включать
ответ
Alexey103, руки распримите и сделайте триггерную смену анимации, "stand" - при завершении морфа, чтобы небыло death. Для моделей с альтернативными формами, меняются тег анимации, про это есть статьи. Если не получается - смотрите что вы сделали нетак.
ответ
так вроде там морф (спец абилка). после естественной смерти юнит морфится (событие смерти никак не отслеживается). И это легко отслеживается через "приводит в действие".
используй всегда дебаги, выводи на экран. я тоже не всегда знаю, проверяю
подробные абилки
Феникс 'AHpx' - вызывает феникса (можно указать кол-во вызванных). Появляется рядом с кастером. Может вызвать безграничное число птиц. Но есть один нюанс со фениксом - у него есть способность 'Превращение в феникса' Aphx, которое после гибели превращает яйцо. Эта способность не позволяет призывать больше одной жар-птицы. Нельзя отследить кастера - того кто призвал эту птицу (debug показывает что феникс призывает феникса, то есть он сам себя призвал)
Превращение в феникса 'Aphx' - морф работает при смерти. У фенникса каждый раз становится хп меньше (так специально сделали в РО: у феникса отрицательный реген), и когда умрет естественной смертью (не от руки врагов), тогда превращается в яйцо (такой цикл). Яйцо просуществует несколько секунд (можно задать длительность морфа, если задать 0.00 - постоянный морф). После из яйца рождается феникс.
ответ
Смени типа движения возможна только через морф в другую боевую единицу через руну (на любом патче)

23

» WarCraft 3 / Функция ForGroup

Похожие вопросы:

ответ
нельзя, используй глобальные переменные для передачи аргументов
ответ
как сказал док юзай обычную функцию без параметров и не бойся
либо если паранойя то перебирай группу циклом
ответ
дочерние потоки наследуют свойства основных
то же касается и екзекута
ответ
Проблема решена, причина была в моей криворукости.
ответ
Можешь спокойно передавать параметры через глобалки, в варе все выполняется строго синхронно.

23

» WarCraft 3 / Редактирование иконок

Похожие вопросы:

ответ
8gabriel8, влзможно ты равкод оставлял у способности разный на разных уровнях.
ответ
можно
начиная с кучи депротекторов и заканчивая mpq архиваторами и hex редактором
спелы и ии написаны на jass
про него можно прочитать тут
ответ
UnitRemoveAbility(whichUnit, 'ARal')
где whichUnit - твое здание
ответ
Удержание, патруль и движение - одна и та же способность.
ответ
Убрать классификацию работник, на что это ещё повлияет - хз

23

» WarCraft 3 / Кампании

Похожие вопросы:

ответ
Как минимум можно переносить данные с карты.Но таким образом ты заменишь то,что у тебя в карте.Другим способом по чуть чуть переносишь и ставишь всё как надо (требования всякие).Таким образом тебе как минимум не нужно будет делать описания и хар-ки.Ну или можешь сам их редактировать.В общем,такие дела.
ответ
Создаёшь в редакторе ИИ порядок действий, сохраняешь, импортируешь и запускаешь используя триггеры ( действия ИИ) для конкретного игрока (например: синий). Могу если нужно скинуть карту пример.

23

» WarCraft 3 / Функции МемХака

Принятый ответ
Похожие вопросы:

ответ
DracoL1ch, Не понял как я поменяю количество еды приносяший?
DracoL1ch, или абилка такой есть?
DracoL1ch, или ты имел виду создать типо так но на основе юнита (Сам писал)
set amount = R2I(amount) - R2I(this[u])
            
            if amount < 0 then
                set amount = -amount
                set rawcode = rawcode + this.count
            endif
            
            set abilityId = this.count - 1
            set abilityLevel = 4
            set currentAbility = rawcode + abilityId
            loop
                exitwhen amount == 0
                
                if amount >= powersOf2[abilityId * 3 + (abilityLevel - 2)] then
                    call UnitAddAbility(u, currentAbility)
                    call SetUnitAbilityLevel(u, currentAbility, abilityLevel)
                    call UnitRemoveAbility(u, currentAbility)
                    
                    set amount = amount - powersOf2[abilityId * 3 + (abilityLevel - 2)]
                else
                    set abilityLevel = abilityLevel - 1
                    if abilityLevel <= 1 then
                        set abilityId = abilityId - 1
                        set abilityLevel = 4
                        set currentAbility = rawcode + abilityId
                    endif
                endif
            endloop
Сделал если кому нужно контроль максимальной еды
// RUS: Создаем 8 юнит еду (Каждый шаг увиличивает 2ух-кратный)
//! runtextmacro UnitStart()
//! i CreateUnit("hfoo", "zxF", "ufma", "8", "FOOD", "BTNMonsterLure.blp")
//! runtextmacro UnitEnd()

//! textmacro UnitStart
    /* RUS: Тут можно убрать если не стоит (MemoryHack)
    //! externalblock extension=lua ObjectMerger $FILENAME$
    //! i function CreateUnit(base, prefix, field, count, name, icon)
    //! i     k = 0
    //! i     j = 0
    //! i     for i = 0, (count - 1) do
    //! i         j = j + 1
    //! i         createobject(base, prefix .. string.sub(chars, k + 1, k + 1))
    //! i         makechange(current, "unam", "Unit - " .. name)
    //! i         makechange(current, "utip", "")
    //! i         makechange(current, "utub", "")
    //! i         makechange(current, "unsf", "(+" .. tostring(2^i) .. ")")
    //! i         makechange(current, "uico", "ReplaceableTextures\\CommandButtons\\" .. icon)
    //! i         makechange(current, field, 2^i)
    //! i         k = k + 1
    //! i     end
    //! i end
    //! i setobjecttype("units")
    //! i chars = "abcdefghijklmnopqrstuvwxyz"
    */
//! endtextmacro

//! textmacro UnitEnd
    /* RUS: Тут можно убрать если не стоит (MemoryHack)
    //! endexternalblock
    */
//! endtextmacro

globals
    constant integer xe_MAX_PLAYERS        = 7
    
    // RUS: Контроль еды
    constant integer xe_COUNT_FOOD         = 8
    constant integer xe_RAWCODE_FOOD       = 'zxFa'
endglobals

struct Food
    private static group   array groups[xe_MAX_PLAYERS]
    private static integer array powers[xe_COUNT_FOOD]
    
    private static method onInit takes nothing returns nothing
        local integer i = 1
        
        set thistype.powers[0] = 1
        
        loop
            exitwhen i > xe_COUNT_FOOD
            set thistype.powers[i] = thistype.powers[i - 1] * 2
            set i = i + 1
        endloop
        
        set i = 0
        loop
            exitwhen i == xe_MAX_PLAYERS
            set thistype.groups[i] = CreateGroup()
            set i = i + 1
        endloop
    endmethod
    
    public static method operator []= takes player p, integer i returns nothing
        local integer count = xe_COUNT_FOOD - 1
        local group g = thistype.groups[GetPlayerId(p)]
        local unit u = FirstOfGroup(g)
        
        loop
            exitwhen u == null
            call RemoveUnit(u)
            call GroupRemoveUnit(g, u)
            set u = FirstOfGroup(g)
        endloop
        
        loop
            exitwhen i == 0
            if i >= thistype.powers[count] then
                call GroupAddUnit(g, CreateUnit(p, xe_RAWCODE_FOOD + count, 0., 0., 0.))
                set i = i - thistype.powers[count]
            else
                set count = count - 1
            endif
        endloop
        
        set u = null
        set g = null
    endmethod
endstruct
ответ
Вот попробуй.
ответ
в 1.26 так делал xgm.guru/p/wc3/163817
Ща mix убраны и архитектура wc переделана, но идея таже - внедриться в процесс варкрафта и найти оффсеты функций.
ответ
Да там перерисовка интерфейса, в новых версиях везде стоит где нужно.

23

» WarCraft 3 / Добавление зеленого урона.

Похожие вопросы:

ответ
Старая "работа" на GUI. Не знаю как она влияет на производительность, но помнится работало. Не советую использовать.
ответ
Насколько я знаю в мемхаке функции достаточно понятным образом называются. Но тем не менее, вот список того что вам может понадобиться. Мне кажется этого хватит для описываемых вами целей.
GetUnitBaseDamage
SetUnitBaseDamage
AddUnitBaseDamage
GetUnitBonusDamage
SetUnitBonusDamage
AddUnitBonusDamage
GetUnitTotalDamage
Я сам не проверял, но они должны выполнять указанную функцию.
А по поводу сохранения - вам понадобится правильная версия pjass, её можно найти в этой статье: xgm.guru/p/wc3/memory-hack, да и вообще в ней все написано про то как запустить мемхак.
И в целом, с мемхаком не нужно слишком сложно думать - нужно просто его поставить, найти нужную функцию и использовать. Благо функции как я уже говорил названы понятным образом.

23

» WarCraft 3 / Способность прыжок

Похожие вопросы:

ответ
На сайте, вот тут, есть хорошая статья об этом. Там не совсем то, что вам нужно, но на базе данного примера вы сможете создать всё самостоятельно.
+
И, между прочим, старый форум ещё никто не отменял.
Барахолка:
Старая академия:
ответ
AllChosen, ты пока что не понимаешь, что делаешь.
ты должен вместо цикла с вэйтом использовать "периодичный" таймер и сдвигать координаты, но пока что советуют посмотреть примеры xgm.guru/p/wc3/spellmaker-stomp-spell-creation
есть таймер одноразовый и периодичный, это все один и то же таймер, просто запускает разные режимы. через TimerStart. Вы таймер уже создали так смотрю, теперь нужно ловить запуски таймеров

23

» WarCraft 3 / Вычисление урона героя

Похожие вопросы:

ответ
урон в секунду = урон за удар/время затраченное на удар(период атаки + время анимации)
в f.a.q. есть формула вычисления урона после снижения бронёй